package com.neusoft.NursingHome.service;

import com.neusoft.NursingHome.po.LevelProject;
import java.util.List;

public interface LevelProjectService {

    /**
     * 获取指定护理级别下的所有护理项目 ID
     * @param levelId 护理级别 ID
     * @return 该级别下的护理项目 ID 列表
     */
    List<Integer> getNursingProjectsByLevel(Integer levelId);

    /**
     * 将护理项目添加到指定的护理级别
     * @param levelProject LevelProject 对象，包含护理级别 ID 和护理项目 ID
     * @return 添加是否成功
     */
    boolean addProjectToLevel(LevelProject levelProject);

    /**
     * 将指定护理级别下的护理项目移除
     * @param levelProject LevelProject 对象，包含要移除关联的护理级别 ID 和护理项目 ID
     * @return 移除是否成功
     */
    boolean removeProjectFromLevel(LevelProject levelProject);

    /**
     * 按护理项目名称模糊搜索，并筛选出在指定护理级别下的护理项目
     * @param levelId 护理级别 ID
     * @param name 护理项目名称（支持模糊匹配）
     * @return 在指定护理级别下的护理项目列表
     */
    List<LevelProject> searchProjectsByName(Integer levelId, String name);
    /**
     * 根据护理级别 ID 筛选不在该级别下的所有护理项目
     * @param levelId 护理级别 ID
     * @return 不在该级别下的护理项目列表
     */
    List<LevelProject> getProjectsNotInLevel(Integer levelId);
}